package it.koutifaris.travianmap.ui.viewstate;

import it.koutifaris.travianmap.ui.MapDetailsLevel;
import android.os.Parcelable;

public interface DynamicViewState extends Parcelable {

	int DEFAULT_SQUARE_WIDTH = 50;

	void updatePosition(int x, int y);

	int getX();

	int getY();

	float getZoom();

	void setZoom(float zoom);

	public void setZoom(float zoom, float centerX, float centerY);

	int getSquareSize();

	MapDetailsLevel getDetailsLevel();

	void setSelectedSquare(int x, int y);

	void clearSelectedSquare();

	XYSquare getSelectedSquare();

	void setListener(ViewStateListener listener);

	interface ViewStateListener {
		void onViewStateChanged();
	}
}
